課程資訊
課程名稱
演算法
Algorithms 
開課學期
104-2 
授課對象
管理學院  資訊管理學系  
授課教師
蔡益坤 
課號
IM2009 
課程識別碼
705 22200 
班次
 
學分
全/半年
半年 
必/選修
必帶 
上課時間
星期二7,8,9(14:20~17:20) 
上課地點
管二205 
備註
本課程中文授課,使用英文教科書。部分週次之週二6有實習,地點同上課教室。
總人數上限:70人
外系人數限制:10人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1042algorithms 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

本課程為計算機演算法設計與分析之入門課程,特色在於強調數學歸納法原理及其於演算法設計之應用。課程內容涵蓋Manber 所著教課書之主要章節,再輔以Cormen 等人所著教課書之部分內容。 

課程目標
使學生熟悉基本之演算法及其設計原理,並培養學生具備獨立設計與分析演算法的能力。 
課程要求
修習本課程前,宜先完成程式設計及資料結構兩項課程。
本課程包括兩次考試及十次作業;出席及上課情形亦將列入考評。
 
預期每週課後學習時數
 
Office Hours
另約時間 備註: 週二及週三下午1:30-2:00,或另約時間 
指定閱讀
1. Introduction to Algorithms - A Creative Approach, U. Manber, Addison-Wesley, 1989.
2. Introduction to Algorithms, Third Edition, T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, MIT Press, 2009. 
參考書目
1. Computer Algorithms / C++, Second Edition, E. Horowitz, S. Sahni, and S. Rajasekaran, Computer Science Press, 2007.
2. Algorithms in C, Third Edition: Parts 1--5, R. Sedgewick, Addison-Wesley, 2001.
 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
作業 
20% 
 
2. 
參與度 
10% 
出席情形、提問與討論、自主程式練習等 
3. 
期中考 
35% 
 
4. 
期末考 
35% 
 
 
課程進度
週次
日期
單元主題
第1週
2/23  Introduction and Mathematical Induction 
第2週
3/01  Mathematical Induction 
第3週
3/08  Analysis of Algorithms 
第4週
3/15  Design by Induction 
第5週
3/22  Design by Induction and A Supplement to Data Structures 
第6週
3/29  Searching and Sorting 
第7週
4/05  National Holiday. 
第8週
4/12  Searching and Sorting 
第9週
4/19  Midterm 
第10週
4/26  String Processing 
第11週
5/03  Graph Algorithms: Basic 
第12週
5/10  Graph Algorithms: Basic 
第13週
5/17  Graph Algorithms: Advanced 
第14週
5/24  Dynamic Programming 
第15週
5/31  Reduction 
第16週
6/07  NP-Completeness 
第17週
6/14  NP-Completeness 
第18週
6/21  Final